package Sort.面试.Node;

import test.java.test;

import java.util.*;

public class MergeNodeList {

    public static ListNode mergeNode(ListNode node1, ListNode node2){
        if(node1 == null){
            return node2;
        }
        if(node2 == null){
            return node1;
        }
        ListNode resultNode;
        if(node1.val < node2.val){
            resultNode = node1;
            node1 = node1.next;
        }else{
            resultNode = node2;
            node2 = node2.next;
        }
        resultNode.next = mergeNode(node1,node2);
        return resultNode;
    }

    public static ListNode sortListMode(ListNode listNode1, ListNode listNode2){
        if(listNode1 == null){
            return listNode2;
        }
        if(listNode2 == null){
            return listNode1;
        }
        ListNode listNode;
        if(listNode1.val < listNode2.val){
            listNode = listNode1;
            listNode1 = listNode.next;
        }else{
            listNode = listNode2;
            listNode2 = listNode2.next;
        }
        listNode.next = sortListMode(listNode1,listNode2);
        return listNode;

    }

    public static void main(String[] args) {
        ListNode listNode1 = new ListNode(10);
        ListNode listNode2 = new ListNode(1,listNode1);
        ListNode listNode3 = new ListNode(5);
        ListNode listNode4 = new ListNode(4,listNode3);
        ListNode listNode = sortListMode(listNode2, listNode4);
        System.out.println(listNode);

        System.out.println("============= list排序 ==================");
        Integer[] arr =  new Integer[]{8,7,6,1,5,4,3,9,2,10};
        List<Integer> list = Arrays.asList(arr);
        Collections.sort(list);
        list.forEach(k -> {
            System.out.println( k);
        });
    }

}
